<?php

require_once('OP.php');

class Pregunta extends ObjetoPersistente {
	public $enunciado;
	public $id_instrumento;
	public $id_opcion;
	public $id_criterio;
	public $id_factor;
	public $fecha_reg;
	public $fecha_mod;
	public $id_usuario;		
    
	public function __construct($atributos = array()) {
		parent::__construct($atributos);
		self::$verbose_name = 'Pregunta';
		self::$verbose_plural = 'Preguntas';
	}

	public static function obtenerPreguntaOrdenados() {
		$g = new Pregunta();
		$g = $g->obtenerOrdenados('fecha_mod');
		return $g;
	}

	public static function obtenerPreguntaPorId($id) {
		$g = new Pregunta();
		$g = $g->filtrarPorID($id);
		return $g[0];
	}

	public static function obtenerPreguntaPorInstrumento($id_instrumento) {
		$g = new Pregunta();
		$g = $g->filtrar('id_instrumento', '"' . $id_instrumento . '"');
		if (empty($g))
			return False;
		return $g;
	}

	public static function obtenerIdPregunta($enunciado) {
		$g = new Pregunta();
		$g = $g->filtrar('enunciado', '"' . $enunciado . '"');
		if (empty($g))
			return False;
		return $g[0]->id;
	}

	public static function borrarPregunta($id){
		$a=Pregunta::obtenerPreguntaPorId($id);
		if($a == False){
			return False;
		}
		$a->borrar();
		return True;
	}

	public static function insertarPregunta($enunciado, $id_instrumento, $id_opcion, $id_criterio, $id_factor, $fecha_reg, $fecha_mod, $id_usuario) {
		$aux = new Pregunta();
		if ($aux->obtenerIdPregunta($enunciado) != False){
			return False;
		}		
        $a = new Pregunta(array('enunciado' => $enunciado, 'id_instrumento' => $id_instrumento, 'id_opcion' => $id_opcion, 'id_criterio' => $id_criterio, 'id_factor' => $id_factor, 'fecha_reg' => $fecha_reg, 'fecha_mod' => $fecha_mod, 'id_usuario' => $id_usuario));
		$a->guardar();
		return True;
	}
    
    public static function modificarPregunta($id, $enunciado, $id_instrumento, $id_opcion, $id_criterio, $id_factor, $fecha_reg, $fecha_mod, $id_usuario) {
		$aux = new Pregunta();
        $us = Pregunta::obtenerPreguntaPorId($id);
        if ($aux->obtenerIdPregunta($enunciado) != False && $us->enunciado != $enunciado){
			return False;
		}
        $a = new Pregunta(array('id' => $id, 'enunciado' => $enunciado, 'id_instrumento' => $id_instrumento, 'id_opcion' => $id_opcion, 'id_criterio' => $id_criterio, 'id_factor' => $id_factor, 'fecha_reg' => $fecha_reg, 'fecha_mod' => $fecha_mod, 'id_usuario' => $id_usuario));
		$a->guardar();
		return True;
	}
}
?>
